/**
 * Un package lie au exceptions.
 */
package fr.afcepf.al23.qualite.exception;

/**
 * @author Stagiaire
 *
 */
public class QualityException extends Exception {

    /**
     * serial version.
     */
    private static final long serialVersionUID = 1L;
/**
 * Enumeration des codes erreurs.
 */
   private static enum ErrorCode {
       /**
        * Lors de l'enregistrement de l'utilisateur.
        */
       MAIL_EXISTE,
       /**
        * lors du passage de la commande.
        */
       COMMANDE_INVALIDE };
    /**
     *Code erreur de l'exception.
     */
      private ErrorCode code;
    /**
     * Constructeur defaut.
     */
    public QualityException() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage un message.
     * @param paramCause une cause.
     * @param paramEnableSuppression un enable suppression.
     * @param paramWritableStackTrace un writable stack trace.
     */
    public QualityException(String paramMessage, Throwable paramCause,
            boolean paramEnableSuppression, boolean paramWritableStackTrace) {
        super(paramMessage, paramCause, paramEnableSuppression, paramWritableStackTrace);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage un message.
     * @param paramCause une cause.
     */
    public QualityException(String paramMessage, Throwable paramCause) {
        super(paramMessage, paramCause);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage un message.
     */
    public QualityException(String paramMessage) {
        super(paramMessage);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramCause une cause.
     */
    public QualityException(Throwable paramCause) {
        super(paramCause);
        // TODO Auto-generated constructor stub
    }

    /**
     * @return the code
     */
    public ErrorCode getCode() {
        return code;
    }

    /**
     * @param paramCode the code to set
     */
    public void setCode(ErrorCode paramCode) {
        code = paramCode;
    }


}
